// Message map struct
struct TMsgMap
{
	typedef LRESULT (*MSGPROC)(HWND hWnd, WPARAM wParam, LPARAM lParam);

	UINT		nMessage;
	MSGPROC		MsgProc;	
};

// How to define message 
//-----------------------------------------------------------------------------------------------------------------------------------------
// Step1:  declare a message function
// Step2:  set message map in MsgMapTable, eg: (message, function)
// Step3:  define a message function
//*****************************************************************************************************************************************


//=========================================================================================================================================
// Step1. Message Map Medthod
//=========================================================================================================================================
LRESULT OnCreate(HWND hWnd, WPARAM wParam, LPARAM lParam);

LRESULT OnDestroy(HWND hWnd, WPARAM wParam, LPARAM lParam);

LRESULT OnPaint(HWND hWnd, WPARAM wParam, LPARAM lParam);


//=========================================================================================================================================
// Step2. Message Map Table
//=========================================================================================================================================
const TMsgMap MsgMapTable[] = {
	WM_CREATE,		OnCreate,
	WM_DESTROY,		OnDestroy,
	WM_PAINT,		OnPaint,
	
};